package mx.frantor.catalogos.bussines;

import java.util.List;

import mx.frantor.catalogos.dao.CatalogoProductoDAO;
import mx.frantor.catalogos.dao.MateriaPrimaExistenciasDAO;
import mx.frantor.catalogos.dao.ProductosExistenciaDAO;
import mx.frantor.catalogos.daoimp.CatalogoProductoDAOImpl;
import mx.frantor.catalogos.daoimp.MateriaPrimaExistenciasDAOImpl;
import mx.frantor.catalogos.daoimp.ProductosExistenciaDAOImpl;
import mx.frantor.catalogos.entitys.CatalogoProductoEntity;


public class CatalogoProductoBussines {
	
	
	private MateriaPrimaExistenciasDAO cliDAO = new MateriaPrimaExistenciasDAOImpl();
	private ProductosExistenciaDAO prodDAO = new ProductosExistenciaDAOImpl();
	private CatalogoProductoDAO catpDAO = new CatalogoProductoDAOImpl();
	String res=null;	
	

	public String AgregaMCatProd( Float cantidad,  long idProducto, String idMateria, String idRef ){
		CatalogoProductoEntity catPE = new CatalogoProductoEntity();
		
		catPE.setCantidad(cantidad);
		catPE.setIdProducto(idProducto);
		catPE.setIdMateria(Long.valueOf(idMateria));
		catPE.setIdRefaccion(Long.valueOf(idRef));
		
		catpDAO.agregarCatalogoP(catPE);
		res= "";
		return res;
	}
	public String modificarCatalogoP(long idCatalogo, Float cantidad, long idProducto, String idMateria, String idRef, long idRefaccion){
		CatalogoProductoEntity catpE = new CatalogoProductoEntity();
		
		catpE.setIdCatalogo(idCatalogo);
		catpE.setCantidad(cantidad);
		catpE.setIdProducto(idProducto);
		catpE.setIdMateria(Long.valueOf(idMateria));
		catpE.setIdRefaccion(Long.valueOf(idRefaccion));
		
		
		res = catpDAO.modificarCatalogoP(catpE);
		
		return res;	}

	public String eliminarCatalogoP(long idCatalogoP){
		res = catpDAO.eliminarCatalogoP(idCatalogoP);
		
		return res;	}

	public List<CatalogoProductoEntity> getTodosCatalogoPActivos(){
		List<CatalogoProductoEntity> lstCMPs = catpDAO.getTodosCatalogoPActivos();
		return lstCMPs;	}
	
	public CatalogoProductoEntity getCatalogoPId(long idCatalogoP){
		CatalogoProductoEntity cmpE = catpDAO.getCatalogoPId(idCatalogoP);
		return cmpE;	}
	
	public List<CatalogoProductoEntity> getCatalogoPPorId(long idCatalogoP){
		List<CatalogoProductoEntity> lstCMPs = catpDAO.getCatalogoPPorId(idCatalogoP);
		return lstCMPs;	}
	
	public List<CatalogoProductoEntity> getCatalogoPPorIdProducto(long idProducto){
		List<CatalogoProductoEntity> lstCMPs = catpDAO.getCatalogoPPorIdProducto(idProducto);
		for(CatalogoProductoEntity oce : lstCMPs){
			   if(oce.getIdMateria()!=0){ 
			  oce.setNombre(cliDAO.getMateriaPrimaExistenciasId(oce.getIdMateria()).getNombre());
			  oce.setTipo(cliDAO.getMateriaPrimaExistenciasId(oce.getIdMateria()).getTipo());
			   }
			   if(oce.getIdRefaccion()!=0){ 
					  oce.setNombre(prodDAO.getProductosExistenciasId(oce.getIdRefaccion()).getNombre());
					  oce.setTipo(prodDAO.getProductosExistenciasId(oce.getIdRefaccion()).getTipo());
					   }
		}
			return lstCMPs;	}
	
	
}
